home *** CD-ROM | disk | FTP | other *** search
/ Aminet 22 / Aminet 22 (1997)(GTI - Schatztruhe)[!][Dec 1997].iso / Aminet / dev / misc / gms_e.lha / GMSDev / EModules / files / files.e next >
Text File  |  1997-09-15  |  3KB  |  109 lines

  1. /*
  2. **  $VER: files.e V0.8B
  3. **
  4. **  File definitions.
  5. **
  6. **  (C) Copyright 1996-1997 DreamWorld Productions.
  7. **      All Rights Reserved
  8. */
  9.  
  10. OPT MODULE
  11. OPT EXPORT
  12. OPT PREPROCESS
  13.  
  14. MODULE 'gms/dpkernel','system/register'
  15.  
  16. /****************************************************************************
  17. ** Module information.
  18. */
  19.  
  20. CONST FILE_MODVERSION  = 0,
  21.       FILE_MODREVISION = 8
  22.  
  23. /****************************************************************************
  24. ** Mini structures for source and destination operations.
  25. */
  26.  
  27. OBJECT filename
  28.   id   :INT       /* ID_FILENAME */
  29.   name :LONG      /* Pointer to filename */
  30. ENDOBJECT
  31.  
  32. /* Memory pointer structure */
  33.  
  34. OBJECT memptr
  35.   id      :INT      /* ID_MEMPTR */
  36.   address :LONG     /* Pointer to memory area */
  37. ENDOBJECT
  38.  
  39. /****************************************************************************
  40. ** File Object.
  41. */
  42.  
  43. CONST FILEVERSION = 1,
  44.       TAGS_FILE   = $FFFB0000 OR ID_FILE
  45.  
  46. OBJECT file
  47.   head[1] :ARRAY OF head /* Standard header */
  48.   name    :LONG          /* Pointer to name of the file on disk */
  49.   bytepos :LONG          /* Current position in file */
  50.   size    :LONG          /* Total size of the file */
  51.   flags   :LONG          /* File flags */
  52. ENDOBJECT
  53.  
  54. CONST FL_OLDFILE = $00000000,
  55.       FL_READ    = $00000000,
  56.       FL_WRITE   = $00000001,
  57.       FL_LOCK    = $00000002,
  58.       FL_NEW     = $00000004,
  59.       FL_FIND    = $00000008,
  60.       FL_UNPACK  = $00000010,
  61.       FL_NEWFILE = $00000020,
  62.       FL_SMART   = $00000018
  63.  
  64. CONST FLA_BYTEPOS   = TLONG OR 12,
  65.       FLA_SIZE      = TLONG OR 16,
  66.       FLA_FLAGS     = TLONG OR 20,
  67.       FLA_SOURCE    = TAPTR OR 24,
  68.       FLA_PREV      = TAPTR OR 28,
  69.       FLA_NEXT      = TAPTR OR 32,
  70.       FLA_COMMENT   = TAPTR OR 36,
  71.       FLA_DATESTAMP = TAPTR OR 40
  72.  
  73. /****************************************************************************
  74. ** Directory Object.
  75. */
  76.  
  77. CONST DIRVERSION     = 1,
  78.       TAGS_DIRECTORY = $FFFB0000 OR ID_DIRECTORY
  79.  
  80. OBJECT directory
  81.   head[1]   :ARRAY OF head     /* 00: Standard header */
  82.   dirlist   :PTR TO direntry   /* 12: First directory in list (master only) */
  83.   filelist  :PTR TO fileentry  /* 16: First file in list (master only) */
  84.   source    :PTR TO filename   /* 20: Location and Name of this directory */
  85.   flags     :LONG              /* 24: Opening Flags (see file flags) */
  86.   comment   :LONG              /* 28: Pointer to comment string */
  87.   userflags :LONG              /* 32: User Flags */
  88.   datestamp :LONG /*PTR TO time*/ /* 36: Set to time of creation */
  89. ENDOBJECT
  90.  
  91. CONST DIRA_Source    = TAPTR OR 20,
  92.       DIRA_OpenFlags = TLONG OR 24,
  93.       DIRA_Comment   = TAPTR OR 28,
  94.       DIRA_UserFlags = TLONG OR 32,
  95.       DIRA_DateStamp = TAPTR OR 36
  96.  
  97. OBJECT direntry
  98.   prev   :PTR TO direntry
  99.   next   :PTR TO direntry
  100.   source :PTR TO filename
  101. ENDOBJECT
  102.  
  103. OBJECT fileentry
  104.   prev   :PTR TO fileentry
  105.   next   :PTR TO fileentry
  106.   source :PTR TO filename
  107. ENDOBJECT
  108.  
  109.